package controllers;

import javax.swing.JFrame;

import views.BookingZoekVluchtView;
import views.VerwijderenBemanningOpEenVluchtView;
import controllers.uiControllers.MainViewController;
import core.logic.services.VerwijderenBemanningVanEenVluchtService;
import core.logic.services.searchServices.ZoekGegVoorBookingService;
import core.models.dataModels.ResultVluchtenVoorBooking;
import core.models.dataModels.searchModels.ZoekGegVoorBookingModel;


public class VerwijderenBemanningVanEenVluchtController {
	
	private static JFrame scherm;
	private static BookingZoekVluchtView schermView;
	private static VerwijderenBemanningOpEenVluchtView schermNaVolgende;
	public static void showView(){
		
//		if(scherm != null)
//		{
//			scherm.dispose();
//		}
//		
		//halen het model op van de service
		ZoekGegVoorBookingModel model = ZoekGegVoorBookingService.getZoekGegVoorBookingModel();
		
		model.setSchermModus("");
		
		//knop instellen voor de view later, omdat we het zelfde scherm voor meerdere doeleinde gebruiken
		model.ExtraKnop = "VerwijderenBemanning";
			
		
		//Sturen het model mee naar de view
		scherm = new BookingZoekVluchtView(model);
		scherm.pack();
		MainViewController.showView(scherm);
		//schermView.show(true);
	}
	
	public static void handleView(ZoekGegVoorBookingModel modelIn){
		
		ResultVluchtenVoorBooking result = ZoekGegVoorBookingService.getResultVluchtenVoorBooking(modelIn);	
		
		((BookingZoekVluchtView) scherm).set_resultModel(result);

	}
	public static void handleViewNaVolgende(ZoekGegVoorBookingModel modelIn){
		
		//model opvullen met bemanningsleden van de geselecteerde vlucht
		modelIn = VerwijderenBemanningVanEenVluchtService.VulModelMetLijstVanBemanningsLeden(modelIn);
		
		//vlucht is toegevoegd als variabele om te weten welke bemanning op die vlucht zit
		schermNaVolgende = new VerwijderenBemanningOpEenVluchtView(modelIn);
		
		// oude scherm eerst sluiten
		scherm.dispose();
		
		//nieuw scherm aanmaken
		schermNaVolgende = new VerwijderenBemanningOpEenVluchtView(modelIn);
		schermNaVolgende.pack();
		MainViewController.showView(schermNaVolgende);

	}
	
	public static void closeView(ZoekGegVoorBookingModel modelIn)
	{
		scherm.dispose();
		MainViewController.removeView(scherm);
	}
	
}
